import org.apache.spark.{SparkConf,SparkContext}
/**
  * @ Auther: o2o-rd-0008
  * @ Date:   2019/9/3 12:37
  * @ Param:  ${PARAM}
  * @ Description: 
  */
object a {
  def main(args: Array[String]) {
    val conf = new SparkConf();
    conf.setAppName("wordcount")
    conf.setMaster("local[2]");

    /* 第二步创建sc对象，sc是spark程序所有功能的唯一入口
     * sc核心作用：初始化spark应用程序的所有的组件，包括DAGSchedule TaskSchedule ScheduleBackend
     * 还会负责spark程序向master注册程序
     * */
    val sc = new SparkContext(conf);

    /* 第三步，根据具体的数据来源等信息，通过sparkContext来创建rdd
     * rdd的创建方式，外部来源，通过scala的集合然后产生rdd，通过rdd产生rdd
     *
     * */
    val lines =sc.textFile("D:/test")

    /*第四步 用一些函数来进行计算*/
    val words = lines.flatMap(_.split(",")).flatMap(_.split(" ")).filter(word=>word!=" ")
    val pairs = words.map(word=>(word,1))
    val wordscount=pairs.reduceByKey(_+_)
    val result=wordscount.collect()
    result.foreach(println)
    sc.stop()


  }


}






